package com.example.myapplication

import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import android.widget.EditText
import androidx.appcompat.app.AppCompatActivity
import com.google.android.material.chip.Chip
import java.text.SimpleDateFormat
import java.util.*

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        
        // 方法2：在代码中动态修改文本内容
        setupDynamicTextChanges()
    }
    
    private fun setupDynamicTextChanges() {
        // 获取UI元素的引用
        val titleTextView = findViewById<TextView>(R.id.textView2)
        val menuButton = findViewById<Button>(R.id.button2)
        val descriptionTextView = findViewById<TextView>(R.id.textView3)
        val actionButton = findViewById<Button>(R.id.button3)
        val userInfoTextView = findViewById<TextView>(R.id.textView5)
        val chip = findViewById<Chip>(R.id.chip)
        val editText = findViewById<EditText>(R.id.editTextTextMultiLine2)
        val versionTextView = findViewById<TextView>(R.id.textView7)
        
        // 示例1：根据时间动态修改标题
        val currentHour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY)
        val greeting = when {
            currentHour < 12 -> "早上好！欢迎使用应用"
            currentHour < 18 -> "下午好！欢迎使用应用"
            else -> "晚上好！欢迎使用应用"
        }
        titleTextView.text = greeting
        
        // 示例2：动态显示当前时间
        val dateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.getDefault())
        val currentTime = dateFormat.format(Date())
        versionTextView.text = "应用版本：v2.1.0 | 当前时间：$currentTime"
        
        // 示例3：为按钮设置点击事件来修改文本
        var clickCount = 0
        actionButton.setOnClickListener {
            clickCount++
            actionButton.text = "已点击 $clickCount 次"
            userInfoTextView.text = "用户操作：点击了 $clickCount 次按钮"
        }
        
        // 示例4：修改菜单按钮文本
        menuButton.setOnClickListener {
            val currentText = menuButton.text.toString()
            menuButton.text = if (currentText == "菜单") "关闭" else "菜单"
        }
        
        // 示例5：动态修改芯片文本
        chip.setOnClickListener {
            val chipTexts = listOf("新功能", "热门", "推荐", "最新")
            val randomText = chipTexts.random()
            chip.text = randomText
        }
        
        // 示例6：为EditText设置默认文本
        editText.setText("这是通过代码设置的默认文本内容")
        
        // 示例7：根据条件修改描述文本
        val isFirstTime = true // 这里可以根据实际逻辑判断
        if (isFirstTime) {
            descriptionTextView.text = "欢迎首次使用！这个应用将为您带来全新的体验。"
        } else {
            descriptionTextView.text = "欢迎回来！继续享受我们的优质服务。"
        }
    }
}